Enterprise application integration is a process of linking multiple business applications (e.g., supply chain management applications, enterprise resource planning (ERP) systems, customer relationship management (CRM) applications, business intelligence applications, payroll and human resources systems, etc.) together to simplify and automate business processes. Each application may reside on different operating systems and/or use different database solutions, computer languages, or data formats. Integration middleware systems can address the fundamental need for application integration by acting as the messaging hub between applications. These middleware systems mediate messages between the applications typically in formats like Extensible Markup Language (XML) and JAVASCRIPT Object Notation (JSON).